package ec.edu.ucacue.siop.proceso.calculoBorrar;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Pattern;

import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;
import jxl.write.Label;
import jxl.write.Number;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;
import jxl.write.biff.RowsExceededException;

public class FormarHojaNueva {

	private String error= "";
	private String[][][]  variables = new String[60][31][24];
	private String[] listaVar = new String[50]; 
	
	public String getError() {
		return error;
	}


	public void setError(String error) {
		this.error = error;
	}


	public String[][][] getVariables() {
		return variables;
	}


	public void setVariables(String[][][] variables) {
		this.variables = variables;
	}


	public boolean crear(String directorio) {
		Workbook libroExcel;
		Workbook listado;
		
		
		
		File entrada = new File(directorio);
		String[] listadoArchivos = entrada.list();

		
		System.out.println("tamano " + listadoArchivos.length);
		for(int i=0; i<listadoArchivos.length; i++) {
			File archivo = new File(directorio+"/"+listadoArchivos[i]);
			System.out.println("leyendo el " + i);
			try {
				libroExcel = Workbook.getWorkbook(archivo);
				
				Sheet hoja = libroExcel.getSheet(0);
				
				for(int j=5; j<50; j++) {
					if(i==0){
						listaVar[j-5] = hoja.getCell(2, j).getContents();
					}
					for(int k=7; k<31;k++) {
						String contenido = hoja.getCell(k, j).getContents();
						if(contenido.length() >1) {
							variables[j-5][i][k-7] = contenido;
						}
					}
				}
				
	
				
			} catch (BiffException e) {
				// TODO Bloque catch generado automáticamente
				e.printStackTrace();
			} catch (IOException e) {
				// TODO Bloque catch generado automáticamente
				e.printStackTrace();
			}
			
		}
		for(int i=0; i<45; i++) {
			String indice = Integer.toString(i+1);
			if (indice.length() == 1) indice="0"+indice;
			FileWriter salida;
			try {
				salida = new FileWriter("/home/edgar/resultados/var"+indice+".csv");
				PrintWriter pw = new PrintWriter(salida);
				for(int j=0;j<24;j++) {
					String cadenaSalida = "";
					for(int k=0;k<listadoArchivos.length;k++) {
						if(variables[i][k][j] != null) {
							cadenaSalida +=  variables[i][k][j];
						}
						cadenaSalida +=";";
					}
					pw.println(cadenaSalida);
				}
				salida.close();
				
			} catch (IOException e) {
				// TODO Bloque catch generado automáticamente
				e.printStackTrace();
			}
		}


		return true;
		
	}


}
